package co.edu.udea.iw.prestamos.util.logger;

import org.apache.log4j.Logger;

/**
 * Clase para generar un archivo de logs
 * @author Dave Rivera <daverivera90@gmail.com>
 * @version 1.0
 * @since 01/02/2014
 */
public class Log {

	/**
	 * Identificador para generar un Log tipo INFO
	 */
    public static final int INFO = 1;
    
    /**
	 * Identificador para generar un Log tipo ERROR
	 */
    public static final int ERROR = 2;
    
    /**
	 * Identificador para generar un Log tipo WARNING
	 */
    public static final int WARNING = 3;

    /**
     * Genera un log de acuerdo al tipo ingresado (INFO, ERROR, WARNING)
     * @param clase Define la clase desde la que se genera el log
     * @param mensaje Mensaje que se desea registrar en el log
     * @param tipoLog Tipo de log que se desea registrar. Se obtiene a partir de los valores estaticos de esta clase: INFO, ERROR, WARNING
     * @param excepcion Si existe una excepcion (puede ingresarse null) para el ERROR se ingresa en este parametro
     */
    public static void log(Class clase, String mensaje, int tipoLog, Throwable excepcion){
        switch(tipoLog){
            case INFO:
                Logger.getLogger(clase).info(mensaje);
                break;
            case ERROR:
                Logger.getLogger(clase).error(mensaje, excepcion);
                break;
            case WARNING:
                Logger.getLogger(clase).warn(mensaje);
                break;
        }
    }
}